package com.yuyou.hxyy.service.api.service;

import com.yuyou.hxyy.service.api.bean.Pagination;
import com.yuyou.hxyy.service.api.entity.DataImport;
import com.yuyou.hxyy.service.api.entity.WordRepo;
import com.yuyou.hxyy.service.api.vo.req.WordRepoExcel;
import com.yuyou.hxyy.service.api.vo.resp.UserStatisticsVo;
import com.yuyou.hxyy.service.api.vo.resp.WordRepoMapVo;
import com.yuyou.hxyy.service.api.vo.resp.WordRepoVo;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.util.List;
import java.util.Map;

public interface IWordRepoService {
    int deleteByPrimaryKey(Long wordRepoId);

    int insert(WordRepo record);

    void insertWordRepo(String name , Integer category , Long userId , Integer sort);

    WordRepo selectByPrimaryKey(Long wordRepoId);

    int updateByPrimaryKeySelective(WordRepo record);

    void updateWordRepo(String name , Long id , Long userId , Integer sort);

    int findWordRepoCount(Pagination<WordRepoVo> queryPgn);

    List<WordRepoVo> findWordRepoPage(Pagination<WordRepoVo> queryPgn);

    List<WordRepoVo> findAllWordRepo(Map<String , Object> condition);

    void deleteByIds(String ids);

    WordRepo findByNameCategory(String name ,Integer category);

    List<WordRepoMapVo> getWordRepoList(Long userId);

    UserStatisticsVo getUserStatistics(Long userId);

    DataImport saveWordRepoImport(List<WordRepoExcel> wordRepoExcelList);

    XSSFWorkbook failedInfoOfWordRepoImport(List<WordRepoExcel> wordRepoExcelList);
}
